package com.autonavi.abs.generator.common.model;

import com.autonavi.abs.generator.common.enumeration.DataTypeEnum;
import lombok.Getter;
import lombok.Setter;

/**
 * @author tianquan.ld
 * @version V1.0
 * <p>Description: 列元数据</p>
 * @date 2020-08-10 17:25
 */
@Getter
@Setter
public class ColumnMeta {

    /**
     * 数据库字段名称
     */
    private String name;
    /**
     * 数据库字段类型名称
     */
    private String jdbcType;
    /**
     * java类型
     */
    private String javaType;
    /**
     * 数据库字段首字母小写且去掉下划线字符串
     */
    private String camelName;
    /**
     * 数据库字段首字母大写且去掉下划线字符串
     */
    private String upperName;
    /**
     * 数据库字段注释
     */
    private String comment;
    /**
     * 是否是主键
     */
    private Integer primaryKey;
    /**
     * 字段是否可以为空
     */
    private Integer nullAble;

    public void setJdbcType(String jdbcType) {
        this.jdbcType = jdbcType;
        this.javaType = DataTypeEnum.getJavaType(jdbcType);
    }

}
